package cn.mini.mybatis.mybatis.mapping;


import java.util.Map;


/**
 * BoundSql 类用于封装 SQL 语句及其相关的参数信息，
 * 包含最终要执行的 SQL 语句、参数映射列表、参数对象以及额外的参数。
 */
public class BoundSql {

    /**
     * 存储最终要执行的 SQL 语句
     */
    private String sql;
    /**
     * 存储 SQL 语句中的参数映射信息列表
     */
    private Map<Integer,String > parameterMappings;
    /**
     * 存储 SQL 语句的参数对象
     */
    private String parameterType;
    /**
     * 存储额外的参数，键为参数名，值为参数值
     */
    private String resultType;

    public BoundSql(String sql, Map<Integer, String> parameterMappings, String parameterType, String resultType) {
        this.sql = sql;
        this.parameterMappings = parameterMappings;
        this.parameterType = parameterType;
        this.resultType = resultType;
    }

    public String getSql() {
        return sql;
    }

    public Map<Integer, String> getParameterMappings() {
        return parameterMappings;
    }

    public String getParameterType() {
        return parameterType;
    }

    public String getResultType() {
        return resultType;
    }

}
